package com.jinzhi.jzweb.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.jinzhi.common.base.CoreService;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.domain.param.UserHouseQuery;
import com.jinzhi.jzweb.domain.JazUserHouseDO;
import com.jinzhi.jzweb.domain.vo.JazUserHouseVO;

import java.text.ParseException;

/***
 * @author ChangPanYuan
 * @Date 2024/5/10
 * @Description: 用户住宿
 * @Version 1.0
 */
public interface JazUserHouseService extends CoreService<JazUserHouseDO> {

    /**
     * 分页查询住宿列表
     * @param userHouseQuery
     * @return
     */
    Page<JazUserHouseDO> getUserHousePage(UserHouseQuery userHouseQuery);

    /**
     * 新增住宿
     * @param userHouseDO
     * @return
     */
    Result<String> insertUserHouse(JazUserHouseDO userHouseDO) throws ParseException;

    /**
     * 根据id删除用户信息
     * @param id
     * @return
     */
    Result<Object> deletedById(Long id);

    /**
     * 根据id查询住宿详情
     * @param id
     * @return
     */
    JazUserHouseDO getUserHouseById(Long id) throws ParseException;

    /**
     * 修改住宿审核信息
     * @param jazUserHouseDO
     * @return
     */
    Result updateExamineHouse(JazUserHouseDO jazUserHouseDO);

    /**
     *  修改住宿信息
     * @param jazUserHouseDO
     * @return
     */
    Result updateHouse(JazUserHouseDO jazUserHouseDO) throws ParseException;


    Result<?> auntSubscribeHouse(JazUserHouseDO userHouseDO);

    JazUserHouseDO auntGetHouse();

    void updateHouseStatus();
}
